package com.jsz.peini.bean.user;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UserSmsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserSmsExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSmsidIsNull() {
            addCriterion("smsId is null");
            return (Criteria) this;
        }

        public Criteria andSmsidIsNotNull() {
            addCriterion("smsId is not null");
            return (Criteria) this;
        }

        public Criteria andSmsidEqualTo(String value) {
            addCriterion("smsId =", value, "smsid");
            return (Criteria) this;
        }

        public Criteria andSmsidNotEqualTo(String value) {
            addCriterion("smsId <>", value, "smsid");
            return (Criteria) this;
        }

        public Criteria andSmsidGreaterThan(String value) {
            addCriterion("smsId >", value, "smsid");
            return (Criteria) this;
        }

        public Criteria andSmsidGreaterThanOrEqualTo(String value) {
            addCriterion("smsId >=", value, "smsid");
            return (Criteria) this;
        }

        public Criteria andSmsidLessThan(String value) {
            addCriterion("smsId <", value, "smsid");
            return (Criteria) this;
        }

        public Criteria andSmsidLessThanOrEqualTo(String value) {
            addCriterion("smsId <=", value, "smsid");
            return (Criteria) this;
        }

        public Criteria andSmsidLike(String value) {
            addCriterion("smsId like", value, "smsid");
            return (Criteria) this;
        }

        public Criteria andSmsidNotLike(String value) {
            addCriterion("smsId not like", value, "smsid");
            return (Criteria) this;
        }

        public Criteria andSmsidIn(List<String> values) {
            addCriterion("smsId in", values, "smsid");
            return (Criteria) this;
        }

        public Criteria andSmsidNotIn(List<String> values) {
            addCriterion("smsId not in", values, "smsid");
            return (Criteria) this;
        }

        public Criteria andSmsidBetween(String value1, String value2) {
            addCriterion("smsId between", value1, value2, "smsid");
            return (Criteria) this;
        }

        public Criteria andSmsidNotBetween(String value1, String value2) {
            addCriterion("smsId not between", value1, value2, "smsid");
            return (Criteria) this;
        }

        public Criteria andFromidIsNull() {
            addCriterion("fromId is null");
            return (Criteria) this;
        }

        public Criteria andFromidIsNotNull() {
            addCriterion("fromId is not null");
            return (Criteria) this;
        }

        public Criteria andFromidEqualTo(String value) {
            addCriterion("fromId =", value, "fromid");
            return (Criteria) this;
        }

        public Criteria andFromidNotEqualTo(String value) {
            addCriterion("fromId <>", value, "fromid");
            return (Criteria) this;
        }

        public Criteria andFromidGreaterThan(String value) {
            addCriterion("fromId >", value, "fromid");
            return (Criteria) this;
        }

        public Criteria andFromidGreaterThanOrEqualTo(String value) {
            addCriterion("fromId >=", value, "fromid");
            return (Criteria) this;
        }

        public Criteria andFromidLessThan(String value) {
            addCriterion("fromId <", value, "fromid");
            return (Criteria) this;
        }

        public Criteria andFromidLessThanOrEqualTo(String value) {
            addCriterion("fromId <=", value, "fromid");
            return (Criteria) this;
        }

        public Criteria andFromidLike(String value) {
            addCriterion("fromId like", value, "fromid");
            return (Criteria) this;
        }

        public Criteria andFromidNotLike(String value) {
            addCriterion("fromId not like", value, "fromid");
            return (Criteria) this;
        }

        public Criteria andFromidIn(List<String> values) {
            addCriterion("fromId in", values, "fromid");
            return (Criteria) this;
        }

        public Criteria andFromidNotIn(List<String> values) {
            addCriterion("fromId not in", values, "fromid");
            return (Criteria) this;
        }

        public Criteria andFromidBetween(String value1, String value2) {
            addCriterion("fromId between", value1, value2, "fromid");
            return (Criteria) this;
        }

        public Criteria andFromidNotBetween(String value1, String value2) {
            addCriterion("fromId not between", value1, value2, "fromid");
            return (Criteria) this;
        }

        public Criteria andToidIsNull() {
            addCriterion("toId is null");
            return (Criteria) this;
        }

        public Criteria andToidIsNotNull() {
            addCriterion("toId is not null");
            return (Criteria) this;
        }

        public Criteria andToidEqualTo(String value) {
            addCriterion("toId =", value, "toid");
            return (Criteria) this;
        }

        public Criteria andToidNotEqualTo(String value) {
            addCriterion("toId <>", value, "toid");
            return (Criteria) this;
        }

        public Criteria andToidGreaterThan(String value) {
            addCriterion("toId >", value, "toid");
            return (Criteria) this;
        }

        public Criteria andToidGreaterThanOrEqualTo(String value) {
            addCriterion("toId >=", value, "toid");
            return (Criteria) this;
        }

        public Criteria andToidLessThan(String value) {
            addCriterion("toId <", value, "toid");
            return (Criteria) this;
        }

        public Criteria andToidLessThanOrEqualTo(String value) {
            addCriterion("toId <=", value, "toid");
            return (Criteria) this;
        }

        public Criteria andToidLike(String value) {
            addCriterion("toId like", value, "toid");
            return (Criteria) this;
        }

        public Criteria andToidNotLike(String value) {
            addCriterion("toId not like", value, "toid");
            return (Criteria) this;
        }

        public Criteria andToidIn(List<String> values) {
            addCriterion("toId in", values, "toid");
            return (Criteria) this;
        }

        public Criteria andToidNotIn(List<String> values) {
            addCriterion("toId not in", values, "toid");
            return (Criteria) this;
        }

        public Criteria andToidBetween(String value1, String value2) {
            addCriterion("toId between", value1, value2, "toid");
            return (Criteria) this;
        }

        public Criteria andToidNotBetween(String value1, String value2) {
            addCriterion("toId not between", value1, value2, "toid");
            return (Criteria) this;
        }

        public Criteria andParamidIsNull() {
            addCriterion("paramId is null");
            return (Criteria) this;
        }

        public Criteria andParamidIsNotNull() {
            addCriterion("paramId is not null");
            return (Criteria) this;
        }

        public Criteria andParamidEqualTo(String value) {
            addCriterion("paramId =", value, "paramid");
            return (Criteria) this;
        }

        public Criteria andParamidNotEqualTo(String value) {
            addCriterion("paramId <>", value, "paramid");
            return (Criteria) this;
        }

        public Criteria andParamidGreaterThan(String value) {
            addCriterion("paramId >", value, "paramid");
            return (Criteria) this;
        }

        public Criteria andParamidGreaterThanOrEqualTo(String value) {
            addCriterion("paramId >=", value, "paramid");
            return (Criteria) this;
        }

        public Criteria andParamidLessThan(String value) {
            addCriterion("paramId <", value, "paramid");
            return (Criteria) this;
        }

        public Criteria andParamidLessThanOrEqualTo(String value) {
            addCriterion("paramId <=", value, "paramid");
            return (Criteria) this;
        }

        public Criteria andParamidLike(String value) {
            addCriterion("paramId like", value, "paramid");
            return (Criteria) this;
        }

        public Criteria andParamidNotLike(String value) {
            addCriterion("paramId not like", value, "paramid");
            return (Criteria) this;
        }

        public Criteria andParamidIn(List<String> values) {
            addCriterion("paramId in", values, "paramid");
            return (Criteria) this;
        }

        public Criteria andParamidNotIn(List<String> values) {
            addCriterion("paramId not in", values, "paramid");
            return (Criteria) this;
        }

        public Criteria andParamidBetween(String value1, String value2) {
            addCriterion("paramId between", value1, value2, "paramid");
            return (Criteria) this;
        }

        public Criteria andParamidNotBetween(String value1, String value2) {
            addCriterion("paramId not between", value1, value2, "paramid");
            return (Criteria) this;
        }

        public Criteria andSendtimeIsNull() {
            addCriterion("sendTime is null");
            return (Criteria) this;
        }

        public Criteria andSendtimeIsNotNull() {
            addCriterion("sendTime is not null");
            return (Criteria) this;
        }

        public Criteria andSendtimeEqualTo(Date value) {
            addCriterion("sendTime =", value, "sendtime");
            return (Criteria) this;
        }

        public Criteria andSendtimeNotEqualTo(Date value) {
            addCriterion("sendTime <>", value, "sendtime");
            return (Criteria) this;
        }

        public Criteria andSendtimeGreaterThan(Date value) {
            addCriterion("sendTime >", value, "sendtime");
            return (Criteria) this;
        }

        public Criteria andSendtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("sendTime >=", value, "sendtime");
            return (Criteria) this;
        }

        public Criteria andSendtimeLessThan(Date value) {
            addCriterion("sendTime <", value, "sendtime");
            return (Criteria) this;
        }

        public Criteria andSendtimeLessThanOrEqualTo(Date value) {
            addCriterion("sendTime <=", value, "sendtime");
            return (Criteria) this;
        }

        public Criteria andSendtimeIn(List<Date> values) {
            addCriterion("sendTime in", values, "sendtime");
            return (Criteria) this;
        }

        public Criteria andSendtimeNotIn(List<Date> values) {
            addCriterion("sendTime not in", values, "sendtime");
            return (Criteria) this;
        }

        public Criteria andSendtimeBetween(Date value1, Date value2) {
            addCriterion("sendTime between", value1, value2, "sendtime");
            return (Criteria) this;
        }

        public Criteria andSendtimeNotBetween(Date value1, Date value2) {
            addCriterion("sendTime not between", value1, value2, "sendtime");
            return (Criteria) this;
        }

        public Criteria andIsremindIsNull() {
            addCriterion("isRemind is null");
            return (Criteria) this;
        }

        public Criteria andIsremindIsNotNull() {
            addCriterion("isRemind is not null");
            return (Criteria) this;
        }

        public Criteria andIsremindEqualTo(Integer value) {
            addCriterion("isRemind =", value, "isremind");
            return (Criteria) this;
        }

        public Criteria andIsremindNotEqualTo(Integer value) {
            addCriterion("isRemind <>", value, "isremind");
            return (Criteria) this;
        }

        public Criteria andIsremindGreaterThan(Integer value) {
            addCriterion("isRemind >", value, "isremind");
            return (Criteria) this;
        }

        public Criteria andIsremindGreaterThanOrEqualTo(Integer value) {
            addCriterion("isRemind >=", value, "isremind");
            return (Criteria) this;
        }

        public Criteria andIsremindLessThan(Integer value) {
            addCriterion("isRemind <", value, "isremind");
            return (Criteria) this;
        }

        public Criteria andIsremindLessThanOrEqualTo(Integer value) {
            addCriterion("isRemind <=", value, "isremind");
            return (Criteria) this;
        }

        public Criteria andIsremindIn(List<Integer> values) {
            addCriterion("isRemind in", values, "isremind");
            return (Criteria) this;
        }

        public Criteria andIsremindNotIn(List<Integer> values) {
            addCriterion("isRemind not in", values, "isremind");
            return (Criteria) this;
        }

        public Criteria andIsremindBetween(Integer value1, Integer value2) {
            addCriterion("isRemind between", value1, value2, "isremind");
            return (Criteria) this;
        }

        public Criteria andIsremindNotBetween(Integer value1, Integer value2) {
            addCriterion("isRemind not between", value1, value2, "isremind");
            return (Criteria) this;
        }

        public Criteria andSenddelIsNull() {
            addCriterion("sendDel is null");
            return (Criteria) this;
        }

        public Criteria andSenddelIsNotNull() {
            addCriterion("sendDel is not null");
            return (Criteria) this;
        }

        public Criteria andSenddelEqualTo(Integer value) {
            addCriterion("sendDel =", value, "senddel");
            return (Criteria) this;
        }

        public Criteria andSenddelNotEqualTo(Integer value) {
            addCriterion("sendDel <>", value, "senddel");
            return (Criteria) this;
        }

        public Criteria andSenddelGreaterThan(Integer value) {
            addCriterion("sendDel >", value, "senddel");
            return (Criteria) this;
        }

        public Criteria andSenddelGreaterThanOrEqualTo(Integer value) {
            addCriterion("sendDel >=", value, "senddel");
            return (Criteria) this;
        }

        public Criteria andSenddelLessThan(Integer value) {
            addCriterion("sendDel <", value, "senddel");
            return (Criteria) this;
        }

        public Criteria andSenddelLessThanOrEqualTo(Integer value) {
            addCriterion("sendDel <=", value, "senddel");
            return (Criteria) this;
        }

        public Criteria andSenddelIn(List<Integer> values) {
            addCriterion("sendDel in", values, "senddel");
            return (Criteria) this;
        }

        public Criteria andSenddelNotIn(List<Integer> values) {
            addCriterion("sendDel not in", values, "senddel");
            return (Criteria) this;
        }

        public Criteria andSenddelBetween(Integer value1, Integer value2) {
            addCriterion("sendDel between", value1, value2, "senddel");
            return (Criteria) this;
        }

        public Criteria andSenddelNotBetween(Integer value1, Integer value2) {
            addCriterion("sendDel not between", value1, value2, "senddel");
            return (Criteria) this;
        }

        public Criteria andReceivdelIsNull() {
            addCriterion("receivDel is null");
            return (Criteria) this;
        }

        public Criteria andReceivdelIsNotNull() {
            addCriterion("receivDel is not null");
            return (Criteria) this;
        }

        public Criteria andReceivdelEqualTo(Integer value) {
            addCriterion("receivDel =", value, "receivdel");
            return (Criteria) this;
        }

        public Criteria andReceivdelNotEqualTo(Integer value) {
            addCriterion("receivDel <>", value, "receivdel");
            return (Criteria) this;
        }

        public Criteria andReceivdelGreaterThan(Integer value) {
            addCriterion("receivDel >", value, "receivdel");
            return (Criteria) this;
        }

        public Criteria andReceivdelGreaterThanOrEqualTo(Integer value) {
            addCriterion("receivDel >=", value, "receivdel");
            return (Criteria) this;
        }

        public Criteria andReceivdelLessThan(Integer value) {
            addCriterion("receivDel <", value, "receivdel");
            return (Criteria) this;
        }

        public Criteria andReceivdelLessThanOrEqualTo(Integer value) {
            addCriterion("receivDel <=", value, "receivdel");
            return (Criteria) this;
        }

        public Criteria andReceivdelIn(List<Integer> values) {
            addCriterion("receivDel in", values, "receivdel");
            return (Criteria) this;
        }

        public Criteria andReceivdelNotIn(List<Integer> values) {
            addCriterion("receivDel not in", values, "receivdel");
            return (Criteria) this;
        }

        public Criteria andReceivdelBetween(Integer value1, Integer value2) {
            addCriterion("receivDel between", value1, value2, "receivdel");
            return (Criteria) this;
        }

        public Criteria andReceivdelNotBetween(Integer value1, Integer value2) {
            addCriterion("receivDel not between", value1, value2, "receivdel");
            return (Criteria) this;
        }

        public Criteria andSmstypeIsNull() {
            addCriterion("smsType is null");
            return (Criteria) this;
        }

        public Criteria andSmstypeIsNotNull() {
            addCriterion("smsType is not null");
            return (Criteria) this;
        }

        public Criteria andSmstypeEqualTo(Integer value) {
            addCriterion("smsType =", value, "smstype");
            return (Criteria) this;
        }

        public Criteria andSmstypeNotEqualTo(Integer value) {
            addCriterion("smsType <>", value, "smstype");
            return (Criteria) this;
        }

        public Criteria andSmstypeGreaterThan(Integer value) {
            addCriterion("smsType >", value, "smstype");
            return (Criteria) this;
        }

        public Criteria andSmstypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("smsType >=", value, "smstype");
            return (Criteria) this;
        }

        public Criteria andSmstypeLessThan(Integer value) {
            addCriterion("smsType <", value, "smstype");
            return (Criteria) this;
        }

        public Criteria andSmstypeLessThanOrEqualTo(Integer value) {
            addCriterion("smsType <=", value, "smstype");
            return (Criteria) this;
        }

        public Criteria andSmstypeIn(List<Integer> values) {
            addCriterion("smsType in", values, "smstype");
            return (Criteria) this;
        }

        public Criteria andSmstypeNotIn(List<Integer> values) {
            addCriterion("smsType not in", values, "smstype");
            return (Criteria) this;
        }

        public Criteria andSmstypeBetween(Integer value1, Integer value2) {
            addCriterion("smsType between", value1, value2, "smstype");
            return (Criteria) this;
        }

        public Criteria andSmstypeNotBetween(Integer value1, Integer value2) {
            addCriterion("smsType not between", value1, value2, "smstype");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}